Why is this problematic
DisplayCAL does not support wayland, so the only way around is to launch DisplayCAL in a x11 session, and this guide will show how to do that while keeping the package list as minimal as possible.
1. Install packages
First of all we need the packages necessary to launch a X11 session with a very minimal window manager, i included flatpak too in case you dont have it but the --needed flag will skip every package you already have already installed on your system.
sudo pacman -S xorg-server xorg-xinit xorg-xrandr xorg-xsetroot openbox flatpak --needed
Why flatpak?
DisplayCAL does not support the most recent verisons of Python, using it with newer versions of python results in a bug during the ICC profile creation (at the time of the guide creation), the flatpak ships with the correct Python version included.
Add Flathub repo and install DisplayCAL
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub net.displaycal.DisplayCAL
(Optional) Give DisplayCAL access to the home directory
Useful to import colorimeter corrections or export ICC profiles
flatpak override --user --filesystem=home net.displaycal.DisplayCAL
2. Create the X session startup file
# Create the directory to store the xinitrc file
mkdir -p ~/.config/displaycal-x
If you use fish shell
Write the xinit file
printf '%s\n' 'openbox &' 'exec flatpak run net.displaycal.DisplayCAL' > ~/.config/displaycal-x/xinitrc
Create an alias to launch it
alias -s displaycal_x="startx ~/.config/displaycal-x/xinitrc"
Or do i manually
Open the file with your text editor of choice
vim ~/.config/displaycal-x/xinitrc
# Or
nano ~/.config/displaycal-x/xinitrc
Add this to the file
openbox &
exec flatpak run net.displaycal.DisplayCAL
3. Launch DisplayCAL
Hit CTRL+ALT+F3 (or any other F key) to enter a new TTY and in the TTY session run:
If you created the fish alias
displaycal_x
Or Manually
startx ~/.config/displaycal-x/xinitrc
[!warning]
Most likely you will see a black screen for a few seconds and then back to the TTY, run the command a second time and DisplayCAL should launch
4. Configure DisplayCAL for the calibration
- IF you window manager/DE does not support ICC profiles (for example MangoWM), in the calibration tab set
tone curve(gamma) toas measured, to allow Darktable or any other software that can import ICC profiles to display the colors correctly
5. Load the profile into darktable
- Copy the profile to
~/.config/darktable/color/out/, open Darktable - Click the display icon on the right side of the bottom panel and select you ICC profile from the list (the first entry is for the display profile is referred to the main display, the preview display profile is referred to the secondary display if you have one)
- Set the intent to
relative colorimetric